/*
Copyright (C) 2013 Matthew Netsch

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
*/

#pragma once

#include "passman.h"

namespace PassMan
{

    class Pass : public IPass
    {
    private:
        char *name;
        char *value;

    public:
        Pass(Pass *pass);
        Pass(const char *name);
        virtual ~Pass();
        
        virtual void setValue(const char *value);
        virtual bool getName(char *name, int size);
        virtual bool getValue(char *name, int size);
        virtual int  getNameSize();
        virtual int  getValueSize();

        char* getName();
        char* getValue();

        void  setName(const char *name);

        void  copy(Pass *pass);
    };

}